A storage device having an HDD (Hard Disk Drive) as a storage medium has some disadvantages. One is that the access performance of the HDD (particularly seeking) can become bottlenecked and performance demands from users cannot be satisfied. A possible solution is to provide a cache in the storage device to improve its throughput. In such a case, however, complicated structures to protect the cache need to be provided to ensure the reliability of the device.
FIG. 1 illustrates an example of a storage device in which HDDs serve as storage media and caches are provided. The storage device 10 includes a CPU (Central Processing Unit) 11, a memory controller 12, a switch 13, an HDD 14, a cache memory (hereinafter referred to as a cache) 15, a cache mirror 16, and a cache backup 17. The storage device 10 is connected to a host 18 via a network.
The CPU 11 receives an input/output request to the storage device 10 from the host 18, and controls operations of the entire storage device. The memory controller 12 provides a structure to access a region in which target data to be accessed from the host 18 is stored. The switch 13 connects to plural HDDs 14 and relays the data exchange between the memory controller 12 and the HDDs 14. The HDDs 14 store target data to be accessed from the host 18.
The cache 15 is used to speed up data passing between the host 18 and the HDDs 14. The cache mirror 16 is provided to avoid a loss of data when a failure occurs in the cache 15, and stores data with the same content as that of the cache 15. The cache 15 and the cache mirror 16 are made up of DRAMs (Dynamic Random Access Memory).
When the cache 15 and the cache mirror 16 are made up of DRAMs, since a DRAM is a volatile memory, contents of the cache are lost when a power supply is unexpectedly stopped due to a blackout, etc. In preparation for such a case, the cache backup 17 is made up of a NAND flash memory (hereinafter referred to as NAND), which is a non-volatile memory, and functions as a cache backup at the time of unexpected power-supply disconnection.
In a storage system having HDDs as storage media as in FIG. 1, a structure of the storage system becomes complicated to ensure reliability of the system when a cache is provided to improve performance.
In view of this, there is a storage system having a structure that uses NANDs rather than HDDs as a storage medium. In this structure, input/output can be performed at higher speed than HDDs, and therefore the structure of the storage system can be simple without providing a cache to satisfy the performance demands of users.
FIG. 2 illustrates an example of the storage system made up of NANDs. The storage system 20 includes a CPU 21, a NAND controller 22, and a NAND flash memory (hereinafter referred to as NAND) 23. The storage device 20 is connected to a host 24 via a network, etc.
The CPU 21 provides the same functions as those described in FIG. 1. The NAND controller 22 is connected to plural NANDs 23 and manages the NANDs 23. For example, the NAND controller 22 performs wear leveling of the NANDs 23, defect block management, error check and correct (ECC), and logical/physical address conversion, etc. The NANDs 23 store target data to be accessed from a host.
Here, when the NANDs 23 are used as storage media, in consideration of the performance, the NANDs 23 are arranged in parallel with respect to the NAND controller 22 as illustrated in FIG. 2. Because there is a limit to the physically implementable number of the NANDs 23, the capacity of the entire storage system is limited. In this manner, the storage system in FIG. 2 is inferior to the structure with HDDs in the aspect of packaging density.
There is a method to improve the packaging density by making a multistage connection of modules controlling small-capacity NANDs to form a tree or a mesh. FIG. 3 illustrates an example of a storage device in which modules controlling small-capacity NANDs are connected in multiple stages. A storage system 30 includes a CPU 31, a memory controller 32, and a memory module 33 (this may be denoted as MM in the drawings or the following descriptions). The storage device 30 is connected to a host 34 via a network etc.
The CPU 31 provides the same functions as those described in FIG. 1. The memory controller 32 provides a structure to access a region in which target data to be accessed from the host 34 is stored. The memory module 33 includes a NAND controller and NANDs and provides the same functions as those of the NAND controller 22 and the NANDs 23 explained in FIG. 2.
In FIG. 3, the memory module 33 is provided with through paths connecting to other memory modules in addition to access paths to NANDs connected to the memory module 33 itself.
As a method that allows multistage connection of a set of memory modules as illustrated in FIG. 3, there is a method in which a protocol is uniquely defined and set.
It should be noted that technologies described in each of the following documents have been known. US Patent Application Publication No. 2009/0150707 Japanese Laid-Open Patent Publication No. 2010-287203 Japanese Laid-Open Patent Publication No. 2012-18639
According to an aspect of the embodiment, an storage device includes a controller device configured to transmit communication information to which route information is added, the route information indicating a route to a destination of the communication information and including an address of a relay point that the communication information passes through before reaching the destination of the communication information and a memory device configured to receive the communication information, and to transmit the communication information to a next relay point, when the destination of the communication information is not the local memory device, by using the address of the relay point included in the route information of the communication information.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention.